//
//
//  IO监控界面
//
//

import QtQuick
import QtQuick.Controls.Material

Item {
    id: ioMonitorWindowRoot
    width: rootWidth
    height: rootHeight /*- 150*/

    Component.onCompleted: {
        // console.log("生成！！ - IO监控界面")
        Cpp_PLC.QML_CurrentPage = 9
    }

    // Component.onDestruction: {
    //     console.log("销毁 - IO监控界面")
    // }

    // 输出信号 - 属性

    property bool flag_Y0: Cpp_PLC.IO_Y0        // 脉冲
    property bool flag_Y1: Cpp_PLC.IO_Y1        // 方向
    property bool flag_Y2: Cpp_PLC.IO_Y2        // 左电机
    property bool flag_Y3: Cpp_PLC.IO_Y3        // 右电机
    property bool flag_Y4: Cpp_PLC.IO_Y4        // 左45度阀
    property bool flag_Y5: Cpp_PLC.IO_Y5        // 左90度阀
    property bool flag_Y6: Cpp_PLC.IO_Y6        // 右45度阀
    property bool flag_Y7: Cpp_PLC.IO_Y7        // 右90度阀

    property bool flag_Y10: Cpp_PLC.IO_Y10       // 左工进
    property bool flag_Y11: Cpp_PLC.IO_Y11       // 右工进
    property bool flag_Y12: Cpp_PLC.IO_Y12       // 左压紧
    property bool flag_Y13: Cpp_PLC.IO_Y13      // 右压紧
    property bool flag_Y14: Cpp_PLC.IO_Y14       // 料高气缸
    property bool flag_Y15: Cpp_PLC.IO_Y15      // 前拖料架
    property bool flag_Y16: Cpp_PLC.IO_Y16       // 中拖料架
    property bool flag_Y17: Cpp_PLC.IO_Y17      // 后拖料架

    property bool flag_Y20: Cpp_PLC.IO_Y20       // 刹车气缸
    property bool flag_Y21: Cpp_PLC.IO_Y21       // 拽料气缸
    property bool flag_Y22: Cpp_PLC.IO_Y22       // 左拉压紧

    // 输入信号 - 属性

    property bool flag_X0: Cpp_PLC.IO_X0        // 磁尺A相
    property bool flag_X1: Cpp_PLC.IO_X1        // 磁尺B相
    property bool flag_X2: Cpp_PLC.IO_X2        // 左机头旋钮
    property bool flag_X3: Cpp_PLC.IO_X3        // 右机头旋钮
    property bool flag_X5: Cpp_PLC.IO_X5        // 急停按钮
    property bool flag_X6: Cpp_PLC.IO_X6        // 压紧按钮
    property bool flag_X7: Cpp_PLC.IO_X7        // 工进按钮

    property bool flag_X10: Cpp_PLC.IO_X10       // 锯片急停
    property bool flag_X11: Cpp_PLC.IO_X11      // 原点复位
    property bool flag_X12: Cpp_PLC.IO_X12       // 左锯片后位
    property bool flag_X13: Cpp_PLC.IO_X13       // 右锯片后位
    property bool flag_X14: Cpp_PLC.IO_X14       // 左锯片前位
    property bool flag_X15: Cpp_PLC.IO_X15       // 右锯片前位
    property bool flag_X16: Cpp_PLC.IO_X16       // 伺服报警
    property bool flag_X17: Cpp_PLC.IO_X17       // 伺服准备好

    property bool flag_X20: Cpp_PLC.IO_X20       // X轴原点
    property bool flag_X21: Cpp_PLC.IO_X21       // X轴正限位
    property bool flag_X22: Cpp_PLC.IO_X22       // X轴负限位
    property bool flag_X23: Cpp_PLC.IO_X23       // 前托退到位
    property bool flag_X24: Cpp_PLC.IO_X24       // 中托退到位
    property bool flag_X25: Cpp_PLC.IO_X25       // 后托退到位

    // Column{
    //     Button{
    //         onClicked: flag_Y0 = !flag_Y0
    //     }
    //     Button{
    //         onClicked: flag_Y1 = !flag_Y1
    //     }
    //     Button{
    //         onClicked: flag_Y2 = !flag_Y2
    //     }
    //     Button{
    //         onClicked: flag_Y3 = !flag_Y3
    //     }
    //     Button{
    //         onClicked: flag_Y4 = !flag_Y4
    //     }
    //     Button{
    //         onClicked: flag_Y5 = !flag_Y5
    //     }
    //     Button{
    //         onClicked: flag_Y6 = !flag_Y6
    //     }
    //     Button{
    //         onClicked: flag_Y7 = !flag_Y7
    //     }

    //     Button{
    //         onClicked: flag_Y10 = !flag_Y10
    //     }
    //     Button{
    //         onClicked: flag_Y11 = !flag_Y11
    //     }
    //     Button{
    //         onClicked: flag_Y12 = !flag_Y12
    //     }
    //     Button{
    //         onClicked: flag_Y13 = !flag_Y13
    //     }
    //     Button{
    //         onClicked: flag_Y14 = !flag_Y14
    //     }
    //     Button{
    //         onClicked: flag_Y15 = !flag_Y15
    //     }
    //     Button{
    //         onClicked: flag_Y16 = !flag_Y16
    //     }
    //     Button{
    //         onClicked: flag_Y17 = !flag_Y17
    //     }

    //     Button{
    //         onClicked: flag_Y20 = !flag_Y20
    //     }
    //     Button{
    //         onClicked: flag_Y21 = !flag_Y21
    //     }
    //     Button{
    //         onClicked: flag_Y22 = !flag_Y22
    //     }
    // }

    // Column{
    //     anchors.right: parent.right

    //     Button{
    //         text: "X0"
    //         onClicked: flag_X0 = !flag_X0
    //     }
    //     Button{
    //         text: "X1"
    //         onClicked: flag_X1 = !flag_X1
    //     }
    //     Button{
    //         text: "X2"
    //         onClicked: flag_X2 = !flag_X2
    //     }
    //     Button{
    //         text: "X3"
    //         onClicked: flag_X3 = !flag_X3
    //     }
    //     Button{
    //         text: "X5"
    //         onClicked: flag_X5 = !flag_X5
    //     }
    //     Button{
    //         text: "X6"
    //         onClicked: flag_X6 = !flag_X6
    //     }
    //     Button{
    //         text: "X7"
    //         onClicked: flag_X7 = !flag_X7
    //     }

    //     Button{
    //         text: "X10"
    //         onClicked: flag_X10 = !flag_X10
    //     }
    //     Button{
    //         text: "X11"
    //         onClicked: flag_X11 = !flag_X11
    //     }
    //     Button{
    //         text: "X12"
    //         onClicked: flag_X12 = !flag_X12
    //     }
    //     Button{
    //         text: "X13"
    //         onClicked: flag_X13 = !flag_X13
    //     }
    //     Button{
    //         text: "X14"
    //         onClicked: flag_X14 = !flag_X14
    //     }
    //     Button{
    //         text: "X15"
    //         onClicked: flag_X15 = !flag_X15
    //     }
    //     Button{
    //         text: "X16"
    //         onClicked: flag_X16 = !flag_X16
    //     }
    //     Button{
    //         text: "X17"
    //         onClicked: flag_X17 = !flag_X17
    //     }

    //     Button{
    //         text: "X20"
    //         onClicked: flag_X20 = !flag_X20
    //     }
    //     Button{
    //         text: "X21"
    //         onClicked: flag_X21 = !flag_X21
    //     }
    //     Button{
    //         text: "X22"
    //         onClicked: flag_X22 = !flag_X22
    //     }
    //     Button{
    //         text: "X23"
    //         onClicked: flag_X23 = !flag_X23
    //     }
    //     Button{
    //         text: "X24"
    //         onClicked: flag_X24 = !flag_X24
    //     }
    //     Button{
    //         text: "X25"
    //         onClicked: flag_X25 = !flag_X25
    //     }

    // }




    Rectangle{
        width: 400
        height: 1800
        anchors.top: ioMonitorWindowRoot.top
        // anchors.topMargin: 30
        anchors.horizontalCenter: ioMonitorWindowRoot.horizontalCenter
        color: "lightgray"

        Column{
            anchors.left: parent.left
            anchors.leftMargin: 15
            anchors.top: parent.top
            anchors.topMargin: 15
            spacing: 15
            Repeater{
                model: 21
                Rectangle{
                    width: 70
                    height: 70
                    border.width: 1
                    visible: index > 18 ? false : true
                    color:  flag_Y0 && index === 0 ? "red" :
                            flag_Y1 && index === 1 ? "red" :
                            flag_Y2 && index === 2 ? "red" :
                            flag_Y3 && index === 3 ? "red" :
                            flag_Y4 && index === 4 ? "red" :
                            flag_Y5 && index === 5 ? "red" :
                            flag_Y6 && index === 6 ? "red" :
                            flag_Y7 && index === 7 ? "red" :
                            flag_Y10 && index === 8 ? "red":
                            flag_Y11 && index === 9 ? "red" :
                            flag_Y12 && index === 10 ? "red" :
                            flag_Y13 && index === 11 ? "red" :
                            flag_Y14 && index === 12 ? "red" :
                            flag_Y15 && index === 13 ? "red" :
                            flag_Y16 && index === 14 ? "red" :
                            flag_Y17 && index === 15 ? "red" :
                            flag_Y20 && index === 16 ? "red":
                            flag_Y21 && index === 17 ? "red" :
                            flag_Y22 && index === 18 ? "red" :
                                                     "white"

                    Text{
                        anchors.centerIn: parent
                        font.pixelSize: 30
                        text: index === 0 ? "Y0" :
                                index === 1 ? "Y1" :
                                index === 2 ? "Y2" :
                                index === 3 ? "Y3" :
                                index === 4 ? "Y4" :
                                index === 5 ? "Y5" :
                                index === 6 ? "Y6" :
                                index === 7 ? "Y7" :
                                index === 8 ? "Y10" :
                                index === 9 ? "Y11" :
                                index === 10 ? "Y12" :
                                index === 11 ? "Y13" :
                                index === 12 ? "Y14" :
                                index === 13 ? "Y15" :
                                index === 14 ? "Y16" :
                                index === 15 ? "Y17" :
                                index === 16 ? "Y20" :
                                index === 17 ? "Y21" :
                                               "Y22"
                    }

                    Text{
                        anchors.right: parent.left
                        anchors.rightMargin: 50
                        anchors.verticalCenter: parent.verticalCenter
                        font.pixelSize:  Cpp_Config.Language_Type === 1 ? 35 :  Cpp_Config.Language_Type === 2 ? 20 : 20
                        font.bold: true
                        text: index === 0 ? qsTr("脉 冲") :
                                index === 1 ? qsTr("方 向") :
                                index === 2 ? qsTr("左电机") :
                                index === 3 ? qsTr("右电机") :
                                index === 4 ? qsTr("左45度阀") :
                                index === 5 ? qsTr("左90度阀") :
                                index === 6 ? qsTr("右45度阀") :
                                index === 7 ? qsTr("右90度阀") :
                                index === 8 ? qsTr("左工进") :
                                index === 9 ? qsTr("右工进") :
                                index === 10 ? qsTr("左压紧") :
                                index === 11 ? qsTr("右压紧") :
                                index === 12 ? qsTr("料高气缸") :
                                index === 13 ? qsTr("前拖料架") :
                                index === 14 ? qsTr("中拖料架") :
                                index === 15 ? qsTr("后拖料架") :
                                index === 16 ? qsTr("刹车气缸") :
                                index === 17 ? qsTr("拽料气缸") :
                                              qsTr("左拉压紧")
                    }
                }
            }
        }

        Column{
            anchors.right: parent.right
            anchors.rightMargin: 15
            anchors.top: parent.top
            anchors.topMargin: 15
            spacing: 15
            Repeater{
                model: 21
                Rectangle{
                    width: 70
                    height: 70
                    border.width: 1
                    color:  flag_X0 && index === 0 ? "red" :
                            flag_X1 && index === 1 ? "red" :
                            flag_X2 && index === 2 ? "red" :
                            flag_X3 && index === 3 ? "red" :
                            flag_X5 && index === 4 ? "red" :
                            flag_X6 && index === 5 ? "red" :
                            flag_X7 && index === 6 ? "red" :
                            flag_X10 && index === 7 ? "red" :
                            flag_X11 && index === 8 ? "red":
                            flag_X12 && index === 9 ? "red" :
                            flag_X13 && index === 10 ? "red" :
                            flag_X14 && index === 11 ? "red" :
                            flag_X15 && index === 12 ? "red" :
                            flag_X16 && index === 13 ? "red" :
                            flag_X17 && index === 14 ? "red" :
                            flag_X20 && index === 15 ? "red" :
                            flag_X21 && index === 16 ? "red":
                            flag_X22 && index === 17 ? "red" :
                            flag_X23 && index === 18 ? "red" :
                            flag_X24 && index === 19 ? "red" :
                            flag_X25 && index === 20 ? "red" :
                                                     "white"
                    Text{
                        anchors.centerIn: parent
                        font.pixelSize: 30
                        text: index === 0 ? "X0" :
                                index === 1 ? "X1" :
                                index === 2 ? "X2" :
                                index === 3 ? "X3" :
                                index === 4 ? "X5" :
                                index === 5 ? "X6" :
                                index === 6 ? "X7" :
                                index === 7 ? "X10" :
                                index === 8 ? "X11" :
                                index === 9 ? "X12" :
                                index === 10 ? "X13" :
                                index === 11 ? "X14" :
                                index === 12 ? "X15" :
                                index === 13 ? "X16" :
                                index === 14 ? "X17" :
                                index === 15 ? "X20" :
                                index === 16 ? "X21" :
                                index === 17 ? "X22" :
                                index === 18 ? "X23" :
                                index === 19 ? "X24" :
                                               "X25"
                    }


                    Text{
                        anchors.left: parent.right
                        anchors.leftMargin: 50
                        anchors.verticalCenter: parent.verticalCenter
                        font.pixelSize:  Cpp_Config.Language_Type === 1 ? 35 :  Cpp_Config.Language_Type === 2 ? 20 : 20
                        font.bold: true
                        text: index === 0 ? qsTr("磁尺A相") :
                                index === 1 ? qsTr("磁尺B相") :
                                index === 2 ? qsTr("左机头旋钮") :
                                index === 3 ? qsTr("右机头旋钮") :
                                index === 4 ? qsTr("急停按钮") :
                                index === 5 ? qsTr("压紧按钮") :
                                index === 6 ? qsTr("工进按钮") :
                                index === 7 ? qsTr("锯片启停") :
                                index === 8 ? qsTr("原点复位") :
                                index === 9 ? qsTr("左锯片后位") :
                                index === 10 ? qsTr("右锯片后位") :
                                index === 11 ? qsTr("左锯片前位") :
                                index === 12 ? qsTr("右锯片前位") :
                                index === 13 ? qsTr("伺服报警") :
                                index === 14 ? qsTr("伺服准备好") :
                                index === 15 ? qsTr("X轴原点") :
                                index === 16 ? qsTr("X轴正限位") :
                                index === 17 ? qsTr("X轴负限位") :
                                index === 18 ? qsTr("前托退到位") :
                                index === 19 ? qsTr("中托退到位") :
                                              qsTr("后托退到位")
                    }

                }
            }
        }

    }




}
